package br.com.jmesystemv1.domain;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

@Entity
@Table(name = "Funcionario")
@NamedQueries({ 
@NamedQuery(name="JmeFuncionario.listar", 
			query="select funcionario from JmeFuncionario funcionario"),
@NamedQuery(name="JmeFuncionario.buscarPorCodigo", 
			query="select funcionario from JmeFuncionario funcionario where fun_id =:idFuncionario")})
public class JmeFuncionario implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	@Column(name = "FUN_ID")
	private Integer idFuncionario;

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "FUN_CID_ID", referencedColumnName = "cid_id", nullable = false)
	private JmeCidade cidade = new JmeCidade();

	@Column(name = "FUN_NOME")
	private String nome;

	@Column(name = "FUN_ENDERECO")
	private String endereco;

	@Column(name = "FUN_TELEFONE")
	private String telefone;

	@Column(name = "FUN_RG")
	private String rg;

	

	public JmeCidade getCidade() {
		return cidade;
	}

	public void setCidade(JmeCidade cidade) {
		this.cidade = cidade;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getEndereco() {
		return endereco;
	}

	public void setEndereco(String endereco) {
		this.endereco = endereco;
	}

	public String getTelefone() {
		return telefone;
	}

	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}

	public String getRg() {
		return rg;
	}

	public void setRg(String rg) {
		this.rg = rg;
	}

	public Integer getIdFuncionario() {
		return idFuncionario;
	}

	public void setIdFuncionario(Integer idFuncionario) {
		this.idFuncionario = idFuncionario;
	}

	@Override
	public String toString() {
		return "JmeFuncionario [idFuncionario=" + idFuncionario + ", cidade="
				+ cidade + ", nome=" + nome + ", endereco=" + endereco
				+ ", telefone=" + telefone + ", rg=" + rg + "]";
	}

	
	

}
